import { notFound } from "next/navigation";
{{#if referencesColumnList.length}}
import { db } from "@/lib/db";
{{/if}}
import { {{tableObj.singularPascalCase}}UpdateForm } from "@/components/{{authorizationLevel}}/{{tableObj.pluralKebabCase}}/{{tableObj.singularKebabCase}}-update-form";
import { get{{tableObj.singularPascalCase}}WithRelations } from "@/repositories/{{tableObj.singularKebabCase}}-repository";

type Params = Promise<{ id: string }>;

export default async function Page(props: { params: Params }) {
  const params = await props.params;
  const { id } = params;
  const {{tableObj.singularCamelCase}} = await get{{tableObj.singularPascalCase}}WithRelations(id);

  if (!{{tableObj.singularCamelCase}}) {
    notFound();
  }

  {{#each referencesColumnList}}
  const {{this.singularCamelCase}}List = await db.query.{{this.pluralCamelCase}}.findMany();
  {{/each}}

  return (
    <div>
      <h1 className="text-xl font-bold mb-6">Edit {{tableObj.singularCapitalCase}}</h1>
      <{{tableObj.singularPascalCase}}UpdateForm 
        {{tableObj.singularCamelCase}}={ {{tableObj.singularCamelCase}} }
        {{#each referencesColumnList}}
        {{this.singularCamelCase}}List={ {{this.singularCamelCase}}List }
        {{/each}}
      />
    </div>
  );
}
